1. Field of the Invention
The present invention relates to a method and apparatus for predicting interference between a target section of a robot and a peripheral object such as external equipment or a fence installed around the robot, when the target section, such as a tool or a sensor attached to a hand of the robot, is moved along a movement path thereof due to the motion of the robot.
2. Description of the Related Art
In a picking operation wherein a robot picks up a workpiece by using a vision sensor, the position and orientation of a workpiece are measured by the vision sensor, and a moving path of the robot for gripping the workpiece is generated based on the measurement result. Since a movement path of the robot is also changed when the position and orientation of the workpiece are changed, the possibility of interference in the movement path, between a target section, such as a tool or a sensor attached to a hand of the robot, and a peripheral object such as external equipment or a fence fixed around the robot, may be varied.
When a plurality of workpieces are randomly piled, a movement path of the robot is generated in relation to each workpiece measured by the vision sensor. It is preferable that interference is predicted in relation to a plurality of generated movement paths, and the robot grips a workpiece corresponding to the movement path in which it is judged that the interference does not occur. In one conventional technique to predict the interference, the interference between the target section of the robot and the peripheral object is judged at a movement terminal point of the movement path. For example, Japanese Unexamined Patent Publication (Kokai) No. 2000-326280 (JPP'280) discloses a method for checking an interference of a SCARA robot, wherein a command relating to a target position of the robot is converted into a stroke value of each joint axis, a limit of the stroke of each robot is checked, the command relating to the target point of the robot is converted into a position on a Cartesian space, and an interference area on the Cartesian space is checked. Then, when it is judged that the target position satisfies conditions relating to the stroke limit and the interference area, a motion command for each joint axis is given.
Japanese Unexamined Patent Publication (Kokai) No. 2002-331480 (JPP'480) discloses an interference avoiding apparatus for avoiding interference between a robot and another object. Paragraph [0024] of JPP'480 recites that a memory of robot controller 6 stores information of the shape of tool 3, information of the shape and the position/orientation of container box 4, position/orientation Wn of workpiece 10 when teaching, and position/orientation Tn of the tool, and then it can be judged whether or not interference between tool 3 and container box 4 occurs based on the information of the shape of the tool in position/orientation Ta calculated by equation (1) and the information of the shape and the position/orientation of container box 4.
As another conventional technique for predicting interference, Japanese Unexamined Patent Publication (Kokai) No. 2002-273675 (JPP'675) discloses a device and a system for controlling a robot capable of carrying out an automated teaching operation, wherein interference between a robot and a member on an operation path is judged by simulating the motion of the robot in a predetermined operation. Then, in case that it is judged that a robot arm or a tool attached to a front end of the robot arm interferes with the member, when a length of a section of the interference does not exceed a predetermined threshold, the operation path of the robot is divided at the interference point, and the robot is moved within the divided operation path.
As another conventional technique, Japanese Unexamined Patent Publication (Kokai) No. 9-27046 (JPP'046) discloses a method for checking interference between a non-convex polyhedron and another article, wherein a convex hull of the non-convex polyhedron is generated, interference between the convex hull and the article is checked, and then, when the interference occurs, the convex hull is removed. The method includes steps of: dividing apexes constituting the non-convex polyhedron into a plurality of groups, the difference between the apexes in each group in relation to a first axis (for example, an X-axis) being equal to zero or less than a minimal value ε; generating a two-dimensional convex hull on a second-third axis plane (for example, a Y-Z plane) in relation to each groups of apexes; generating a three-dimensional convex hull by combining the adjacent two-dimensional convex hulls; and generating the intended non-convex polyhedron by sequentially combining the adjacent three-dimensional convex hulls.
As another conventional technique, Japanese Unexamined Patent Publication (Kokai) No. 2004-280635 (JPP'635) discloses a simulation apparatus for simulating the motion of a plurality of robots, having a path information storing means for storing coordinate values and simulation time of a plurality of polyhedrons representing the shape of a path of each robot model after the robot is operated for a predetermined period of time; and an interference detecting means for inputting three-dimensional coordinate values and time of the plurality of polyhedrons into respective spread sheets, and for detecting a polyhedron by calculation which simultaneously and spatially interferes with the plurality of sheets.
In the technique of JPP'280 or JPP'480, it is difficult to detect or predict interference on the movement path, although interference at the movement terminal position may be detected. For example, in FIG. 2 of JPP'480 showing a movement path of tool 3 when workpiece 7 in container box 4 is picked, although tool 3 does not interfere with box 4 at movement terminal time T4, tool 3 may interfere with box 4 between time T2 and T3 when moving.
On the other hand, in the technique of JPP'675, in order to precisely predict interference on the generated movement path, it is sequentially judged whether a target section of the robot interferes with a peripheral object in relation to all interpolation positions. However, this technique requires excessively long calculation time, and thus is not appropriate for predicting interference in real time during the motion of the robot.
The technique of JPP'046 utilizes a convex hull in predicting interference. However, this technique predicts interference between polyhedrons in the stationary condition, and thus cannot be used for moving polyhedrons.
In the technique of JPP'635, when a plurality of robots and a machine tool/jig are simultaneously operated, interference between calculated polyhedrons is judged instead of interference between the robots, each polyhedron covering a motion range of each robot. However, since the polyhedron corresponding to the motion range is not limited to a convex polyhedron, calculation for judging the interference is complicated and takes a long time. Therefore, the technique of JPP'635 is not appropriate for judging the interference in real time during the motion of the robot.